//配置对应路由
let express = require('express');
let router = express.Router();
let dbHelper = require('../dbConfig/dbHelper.js');

let multiparty = require('multiparty')
let xlsx = require('node-xlsx')
const formidable = require('formidable')
const fs = require('fs')
const stream = require('stream')

router.post('/importFile',(req,res,next) => {
  debugger;
  /**
   let form = new multiparty.Form();
   form.parse(req, (file) => {
      console.log(file)
    })
   *
   */
  const form = formidable({multiparty: true});
  form.parse(req, (err, fields, files) => {
    let obj = [];
    if(err) {
      res.writeHead(err.httpCode || 400, {'Content-Type': 'text/plain'});
      res.send(String(err));
      return;
    }
    let filename = files.importFile.filepath;
    obj = xlsx.parse(filename);
    console.log(obj[0].data);
    const resCode = pareExcelData(obj[0].data, 'default')
    res.send(String(resCode));
  })


});

function pareExcelData(obj, type='default') {
  const retCode = '';
  const dataRet = [];
  const dataHead = headJson[type];
  console.log(obj[3]);
  obj.forEach((item, index) => {
    console.log('开始item。。。。'+ index)
    //item = JSON.stringify(item)
    if(item.length > 0 && index > 2) {
      const insertSql = `insert into t_imp_excel
      (num,project_name,tz_company,build_start_end,addr_city,addr_county,addr_park,tz_sum,tz_complete,tz_get_support,tz_needs,app_type,one_category,two_category,build_plan,is_see,is_tg,result_jn,result_jt,contacts,phone) 
    VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?); `;
      let value = [];
      for(let i=0;i<=20;i++) {
        let str = (item[dataHead[i].num] === '-' || item[dataHead[i].num] === '—' || item[dataHead[i].num] === ''|| item[dataHead[i].num] === '无')  ? 0 : item[dataHead[i].num]
        value.push(str);
      }
      console.log(value);
      /**
       console.log(item[dataHead[0].num]);   //序号
       console.log(item[dataHead[1].num]);   //项目名称
       console.log(item[dataHead[2].num]);   //投资单位
       console.log(item[dataHead[3].num]);   //建设起止年限
       console.log(item[dataHead[4].num]);   //盟市
       console.log(item[dataHead[5].num]);   //旗县
       console.log(item[dataHead[6].num]);   //园区
       console.log(item[dataHead[7].num]);   //总投资
       console.log(item[dataHead[8].num]);   //累计完成投资
       console.log(item[dataHead[9].num]);   //已获资金支持情况
       console.log(item[dataHead[10].num]);   //融资需求
       console.log(item[dataHead[11].num]);   //应用类型
       console.log(item[dataHead[12].num]);   //一级类别
       console.log(item[dataHead[13].num]);   //二级类别
       console.log(item[dataHead[14].num]);   //建设进度
       console.log(item[dataHead[15].num]);   //是否能够可视化展示
       console.log(item[dataHead[16].num]);   //是否推广
       console.log(item[dataHead[17].num]);   //节能效果
       console.log(item[dataHead[18].num]);   //降碳效果
       console.log(item[dataHead[19].num]);   //知识产权情况
       console.log(item[dataHead[20].num]);   //企业联系人
       console.log(item[dataHead[21].num]);   //手机号
       */
      dbHelper(insertSql,value).then(result => {
        console.log(result);
        this.retCode = result.code;
      }).catch(err => {
        console.log(err);
        this.retCode = err.code;
      })
    }
    return retCode;
  });

}

const headJson = {
  default: [
    {id: 'num', name: '序号', excelName: '序号', num: 0},
    {id: 'project_name', name: '项目名称', excelName: '名称（项目单位全称+项目全称）', num: 1},
    {id: 'tz_company', name: '投资单位', excelName: '投资企业-单位（全称）', num: 2},
    {id: 'build_start_end', name: '建设起止年限', excelName: '建设起止年限（20XX-20XX)', num: 4},
    {id: 'addr_city', name: '盟市', excelName: '盟市（自治区本级-呼和浩特市-包头市-...)', num: 9},
    {id: 'addr_county', name: '旗县', excelName: '旗县（标准全称）', num: 10},
    {id: 'addr_park', name: '园区', excelName: '园区（标准全称）', num: 11},
    {id: 'tz_sum', name: '总投资', excelName: '总投资(亿元）', num: 12},
    {id: 'tz_complete', name: '累计完成投资', excelName: '累计完成投资（亿元）', num: 13},
    {id: 'tz_get_support', name: '已获资金支持情况', excelName: '已获资金支持情况（政府投资+银行贷款）（亿元）', num: 14},
    {id: 'tz_needs', name: '融资需求', excelName: '融资需求（亿元）', num: 15},
    {id: 'app_type', name: '应用类型', excelName: '应用类型（应用场景-应用项目）', num: 16},
    {id: 'one_category', name: '一级类别', excelName: '一级类别（现代能源经济-...)', num: 17},
    {id: 'two_category', name: '二级类别', excelName: '二级类别（源网荷储一体化-..）', num: 18},
    {id: 'build_plan', name: '建设进度', excelName: '建设进度（拟建-在建-已建成）', num: 19},
    {id: 'is_see', name: '是否能够可视化展示', excelName: '是否能够可视化展示（是-否）', num: 20},
    {id: 'is_tg', name: '是否推广', excelName: '是否推广（是-否）', num: 21},
    {id: 'result_jn', name: '节能效果', excelName: '节能效果（年节约XX吨标准煤）单位：万吨', num: 22},
    {id: 'result_jt', name: '降碳效果', excelName: '降碳效果（年减排二氧化碳XX吨）单位：万吨', num: 23},
    {id: 'contacts', name: '企业联系人', excelName: '企业联系人', num: 28},
    {id: 'phone', name: '手机号', excelName: '手机号', num: 29}
  ]
}

module.exports = router;
